home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Programming / nsis-2.46-setup.exe / Contrib / Modern UI 2 / Pages / License.nsh < prev    next >
Encoding:
Text File  |  2007-12-01  |  4.4 KB  |  146 lines

  1. /*
  2.  
  3. NSIS Modern User Interface
  4. License page
  5.  
  6. */
  7.  
  8. ;--------------------------------
  9. ;Page interface settings and variables
  10.  
  11. !macro MUI_LICENSEPAGE_INTERFACE
  12.  
  13.   !ifndef MUI_LICENSEPAGE_INTERFACE
  14.     !define MUI_LICENSEPAGE_INTERFACE
  15.     Var mui.LicensePage
  16.     
  17.     Var mui.Licensepage.TopText
  18.     Var mui.Licensepage.Text
  19.     Var mui.Licensepage.LicenseText
  20.     
  21.     !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
  22.     
  23.     ;Apply settings
  24.     LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
  25.   !endif
  26.  
  27. !macroend
  28.  
  29.  
  30. ;--------------------------------
  31. ;Page declaration
  32.  
  33. !macro MUI_PAGEDECLARATION_LICENSE LICENSEDATA
  34.  
  35.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE ""
  36.   !insertmacro MUI_LICENSEPAGE_INTERFACE  
  37.  
  38.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
  39.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
  40.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
  41.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
  42.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
  43.  
  44.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
  45.  
  46.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
  47.  
  48.     Caption " "
  49.  
  50.     LicenseData "${LICENSEDATA}"
  51.  
  52.     !ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
  53.       !ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
  54.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
  55.       !else ifdef MUI_LICENSEPAGE_CHECKBOX
  56.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
  57.       !else
  58.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
  59.       !endif
  60.     !else
  61.       LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
  62.     !endif
  63.  
  64.     !ifdef MUI_LICENSEPAGE_CHECKBOX
  65.       LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
  66.     !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
  67.       LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
  68.     !endif
  69.  
  70.   PageExEnd
  71.  
  72.   !insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
  73.  
  74.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
  75.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
  76.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
  77.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
  78.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
  79.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
  80.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
  81.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
  82.  
  83.   !verbose pop
  84.  
  85. !macroend
  86.  
  87. !macro MUI_PAGE_LICENSE LICENSEDATA
  88.  
  89.   !verbose push
  90.   !verbose ${MUI_VERBOSE}
  91.  
  92.   !insertmacro MUI_PAGE_INIT
  93.   !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
  94.  
  95.   !verbose pop
  96.  
  97. !macroend
  98.  
  99. !macro MUI_UNPAGE_LICENSE LICENSEDATA
  100.  
  101.   !verbose push
  102.   !verbose ${MUI_VERBOSE}
  103.  
  104.   !insertmacro MUI_UNPAGE_INIT
  105.   !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
  106.  
  107.   !verbose pop
  108.  
  109. !macroend
  110.  
  111.  
  112. ;--------------------------------
  113. ;Page functions
  114.  
  115. !macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
  116.  
  117.   Function "${PRE}"
  118.  
  119.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  120.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
  121.  
  122.   FunctionEnd
  123.  
  124.   Function "${SHOW}"
  125.  
  126.     ;Get conrol handles
  127.     FindWindow $mui.LicensePage "#32770" "" $HWNDPARENT
  128.     GetDlgItem $mui.LicensePage.TopText $mui.LicensePage 1040
  129.     GetDlgItem $mui.LicensePage.Text $mui.LicensePage 1006
  130.     GetDlgItem $mui.LicensePage.LicenseText $mui.LicensePage 1000
  131.     
  132.     ;Top text
  133.     SendMessage $mui.LicensePage.TopText ${WM_SETTEXT} 0 "STR:${MUI_LICENSEPAGE_TEXT_TOP}"
  134.  
  135.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  136.  
  137.   FunctionEnd
  138.  
  139.   Function "${LEAVE}"
  140.  
  141.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  142.  
  143.   FunctionEnd
  144.  
  145. !macroend
  146.